@大麻哈
3年前 提问
1个回答

在一个java源文件中可以有几个public

齐士忠
3年前

在一个java源文件中只能有一个public。在java代码中你可以包括多个类但不是内部类,但是无论包含多少类只能拥有一个public类,并且public的类名必须与文件名相一致否则会报错并无法执行,但是一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同。

  • 每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。

  • public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。

  • 虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。